Advanced Logic Program Specialisation
نویسنده
چکیده
In first part of this course [28] we have laid the theoretical foundations for logic program specialisation, notably introducing the technique of partial deduction along with some basic techniques to automatically control it. In this part of the course we first present in Section 2 an advanced way of controlling polyvariance based upon characteristic trees. We then show in Section 3 how partial deduction can be extended into conjunctive partial deduction, incorporating much of the power of unfold/fold program transformation techniques, such as tupling and deforestation, while keeping the automatic control of partial deduction. Finally, in Section 4 we elaborate on combining abstract interpretation with conjunctive partial deduction, showing how together they are more powerful than either method alone.
منابع مشابه
Advanced Techniques for Logic Program Specialisation
Program specialisation, also called partial evaluation or partial deduction, is an automatic technique for program optimisation. The central idea is to specialise a given source program for a particular application domain. Program specialisation encompasses traditional compiler optimisation techniques, but uses more aggressive transformations, yielding both much greater speedups and more diffic...
متن کاملProgram Specialisation and Abstract Interpretation Reconciled Program Specialisation and Abstract Interpretation Reconciled Program Specialisation and Abstract Interpretation Reconciled
We clarify the relationship between abstract interpretation and program spe-cialisation in the context of logic programming. We present a generic top-down abstract specialisation framework, along with a generic correctness result, into which a lot of the existing specialisation techniques can be cast. The framework also shows how these techniques can be further improved by moving to more re-ned...
متن کاملSpecialising Logic Programs with Respect to Call/post Speciications
In this paper we present a program specialisation which, given a call/post speciication, transforms a logic program into a call-correct one satisfying the post-condition. The specialisation is applied to specialised partially correct programs. This notion is based on the deenition of specialised derivation which is intended to describe program behaviour whenever some properties on procedure cal...
متن کاملLogic Program Specialisation With Deletion of Useless Clauses
In this paper we describe a method of program specialisation and give an extended example of its application to specialisation of a refutation proof procedure for rst order logic. In the specialisation method, a partial evaluation of the proof procedure with respect to a given theory is rst obtained. Secondly an abstract interpretation of the partially evaluated program is computed, and this is...
متن کاملLogic Program Specialisation with Deletion of Useless Clauses 1
In this paper we describe a method of program specialisation and give an extended example of its application to specialisation of a refutation proof procedure for rst order logic. In the specialisation method, a partial evaluation of the proof procedure with respect to a given theory is rst obtained. Secondly an abstract interpretation of the partially evaluated program is computed, and this is...
متن کامل